The present invention relates generally to quality of service in packet transfer and more particularly to improving end-to-end quality of service in multi-domain environments.
Quality of service (QOS) is the ability to provide different priority to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow. For example, a required bit rate, delay, jitter, packet dropping probability, and/or bit error rate may be guaranteed. Quality of service guarantees are important if the network capacity is insufficient, especially for real-time streaming multimedia applications such as voice over IP (VOIP), online games, and IP-TV, since these often require fixed bit rate and are delay sensitive, and in networks where the capacity is a limited resource, such as cellular data communication.
A network or protocol that supports QOS may agree on a traffic contract with the application software and reserve capacity in the network nodes, such as during a session establishment phase. During the session it may monitor the achieved level of performance, for example the data rate and delay, and dynamically control scheduling priorities in the network nodes. It may release the reserved capacity during a tear down phase.
In the field of telephony, QOS is defined in the ITU standard X.902 as “A set of quality requirements on the collective behavior of one or more objects.” QOS includes requirements on all the aspects of a connection, such as service response time, loss, signal-to-noise ratio, cross-talk, echo, interrupts, frequency response, loudness levels, and the like.
Quality of service is affected by various factors, including stability of service, availability of service, delays, user information, reliability, scalability, effectiveness, maintainability, Grade of Service, etc. Various mechanisms have been developed to provide a predetermined QOS in packet networks.
Currently, “DiffServ” or differentiated services models are used. In the DiffServ model, packets are marked according to the type of service they need. In response to these markings, routers and switches use various queuing strategies to tailor performance to requirements. At the IP layer, differentiated services code point (DSCP) markings use the 6 bits in the IP packet header. At the MAC layer, VLAN IEEE 802.1Q and IEEE 802.1D can be used to carry essentially the same information.
Routers supporting DiffServ use multiple queues for packets awaiting transmission from bandwidth constrained (e.g., wide area) interfaces. Router vendors provide different capabilities for configuring this behavior, to include the number of queues supported, the relative priorities of queues, and bandwidth reserved for each queue.
In practice, when a packet must be forwarded from an interface with queuing, packets requiring low jitter (e.g., VOIP, video teleconferencing, etc.) are given priority over packets in other queues. Typically, some bandwidth is allocated by default to network control packets (e.g., Internet control message protocols and routing protocols), while best effort traffic might simply be given whatever bandwidth is left over.
Additional bandwidth management mechanisms may be used to further engineer performance. Examples of such mechanisms include rate limiting, such as token bucket algorithms, leaky bucket algorithms, and transmission control protocol (TCP) rate control (e.g., artificially adjusting TCP window size as well as controlling the rate of acknowledgments (ACKs) being returned to the sender. Scheduling algorithms, such as weighted fair queuing (WFQ), class based weighted fair queuing, weighted round robin (WRR), deficit weighted round robin (DWRR), hierarchical Fair Service Curve (HFSC), may also be used. These current methods do not achieve sufficient end-to-end (ETE) QOS in complex multi-domain environments.
Accordingly, improved systems and methods for end-to-end quality of service in multi-domain environments are required.